/*-
 * Copyright (C) 2018-2020, Shanghai Trusted Industry Control Platform Co., Ltd.
 * Created by 周正辉 (Zhenghui Zhou) <zhouzhenghui@ticpsh.com>, 赵楷文 (Kaiwen
 * Zhao) <zhaokaiwen@ticpsh.com>
 */

#ifndef TEMPLATEINSTANTIATOR_H
#define TEMPLATEINSTANTIATOR_H

#include <clang/AST/Type.h>

#include <vector>

namespace rocket {
namespace incparser {

std::string makeSpeclizatedDeclaration(
    const clang::QualType &var_type, const std::string &var_name,
    const clang::ASTContext &ast,
    const std::vector<clang::TemplateArgument> &ud_tas = {},
    bool is_top = true);

}  // namespace incparser
}  // namespace rocket

#endif  // TEMPLATEINSTANTIATOR_H
